import mockjs from 'mockjs'
import url from 'node:url'; // node:xx是显式指定是node模块
import type { Plugin } from 'vite'

export const viteMockServe = ():Plugin=> {
    return {
        name:'vite-mock-serve',
        // //使用vite插件的钩子函数
        configureServer(server) {
            server.middlewares.use('/api/list',async (req,res) => {
                // const parseUrl = url.parse(req.originalUrl,true)
                // const query = parseUrl.query
                // 推荐使用新的
                const urlObj = new URL(req.originalUrl, 'http://localhost')
                const keyWord = urlObj.searchParams.get('keyWord')
                res.setHeader('Content-Type','application/json')
                const data = mockjs.mock({
                    'list|5':[
                        {
                            "id|+1": 1, //id自增
                            // "name": query.keyWord, //name为url参数中的keyWord
                            "name": keyWord, //name为url参数中的keyWord
                            'address': '@county(true)', //address为随机地址
                        }
                    ]
                })
                 //返回数据
        res.end(JSON.stringify(data))
            })
        }
    }

}